package demo8;

import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

/**
 * Spring的配置类
 */
@Configuration//使用该注解将当前类标记为配置类
@ComponentScan("demo8")//要求容器扫描指定的包(包含子孙包)，并创建对象放入容器中
public class Config {

    /*
        需求:将Student对象放入容器中
        此时我们需要在配置类中定义一个方法，并完成对象的初始化然后将其返回。
        此时这个方法上使用@Bean注解标注，那么容器初始化时就会调用这个方法，并将返回的对象存入容器中。
     */
    @Bean
    public Student getStudent(){
        return new Student();
    }
    @Bean
    public DruidDataSource getDataSource(){
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setUrl("jdbc:mysql://localhost:3306/tedu?characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&rewriteBatchedStatements=true");
        dataSource.setUsername("root");
        dataSource.setPassword("root");
        dataSource.setInitialSize(5);
        dataSource.setMaxActive(10);
        return dataSource;
    }

}
